The present invention relates generally to the field of telecommunications and, more specifically, to a universal application programming interface (API) for translating various network signaling protocols into a standardized protocol.
Programmable telecommunication switches are used in a wide variety of applications such as voice messaging, telemarketing services and the like. A programmable switch is usually controlled by a host device, which is typically a computer that runs a telecommunications application program. A customer may either purchase a commercially available application program that is compatible with the host and switch hardware or may elect to write a custom program.
In most applications, the switch comprises line cards with multiple ports. Each line card terminating one or more analog trunks or digital spans (e.g., a T1 span) that are connected to other devices such as PSTN trunks. Line cards may also terminate one or more xe2x80x98linesxe2x80x99 which are connected to devices such as telephone sets. The switch also includes a switch/matrix card and at least two system buses for switching calls received on one port to another port in the system. One of these buses is an incoming bus that passes messages from the line cards to the matrix card and the other is an outgoing bus which transmits messages from the matrix card to the line cards. Communication over any given trunk, span or line is carried out in accordance with an assigned signaling protocol.
Switches in telecommunications systems are interconnected by an internodal switching network. A second network termed the xe2x80x9chost network,xe2x80x9d interconnects the switches and the host computer for supervisory control. The host, the switches and the line cards each includes a software protocol application that processes calls at its level of the system. Specifically, a Layer 5 (L5) protocol application in the host manages calls at the host level; a Layer 4 protocol application (L4) in the switch manages calls at the switch level; and Layer 3 (L3) protocol applications in the line cards handle calls at the line card level of the system.
For various switching system applications, the sequence of switching events must be controlled and the switching functions must be performed in accordance with the requisite protocols. Throughout the world, there are numerous xe2x80x9cstandardxe2x80x9d signaling protocols in use, including EandM wink start, loopstart, groundstart, international compelled R2 using MFR2 address signaling, and E1 Channel Associated Signaling (CAS) protocols using DTMF/MFR1 signaling. Typically, conventional programmable switches are configured such that a particular signaling protocol is associated with a particular trunk, span or line.
The system described above is usually connected to other telecommunications systems in a broader telecommunications network. Each L3 application in a line card receives the underlying network signaling messages in units such as, packets or frames, and it transmits these units to the L4 application. Messages entering the L3applications are structured according to specific protocols associated the respective systems on the network from which they originate or terminate. Thus, the L4 application must convert messages between different protocols in order to perform switching functions on calls originating and terminating on ports associated with distinct network signaling protocols.
Furthermore, conventional programmable switches may be connected between the public telephone network and other devices such as a voice messaging system. Because such devices may perform specialized functions and are not intended to connect directly to the public telephone network, they do not typically adhere to standard signaling protocols. Thus, for a user to be able to control the programmable switch in such a fashion that proper communication is maintained both, with the public telephone network and with other devices connected to the switch, complex and varied signaling protocol requirements must be satisfied. Conventional communications switches implement numerous specific sets of application programming interface (API) messages to support these varied requirements.
As a result of the various telecommunications applications and signaling protocol requirements, there has been no standardization of the interface between the host applications, the switch and external systems or devices. This has led to increased cost in developing the necessary hardware and software to support specific protocols to satisfy host applications requirements as well as signaling protocol requirements for each trunk, span, and line.
Furthermore, as a result of having separate and distinct API messages and formats, each dedicated to a specific command or data transfer, the addition of features to the telecommunications switch necessitates the creation and implementation of one or more additional API messages and or formats to support the associated signaling protocol. To implement each new unique message, a costly and time-consuming software change to the switch and host must be made.
What is needed, therefore, is a universal API that provides standardized call control processing by utilizing one or more generic message formats and supporting host-to-switch and switch-to-line card call control processing that may be used regardless of the host application or signaling protocol requirements. Furthermore, the generic message formats must be sufficiently flexible and versatile to be customized to support present and future requirements of telecommunications applications and signaling protocols now or later developed.
The present invention is a universal application program interface (API) utilizing a generic message format for performing call control processing and capable of being customized to meet telecommunications application and network signaling protocol requirements. The generic message formats have programmable fields for transmitting commands, status, and data between the host application and the switch. The present invention further provides the switch the ability to perform switching functions between ports associated with distinct protocols without supervision from the host application.
The universal API of the present invention may be implemented to achieve communications internal to the switch as well. For example, the generic messages of the universal API may be used to support communications between any software layer within the switch.
An advantage of the generic message structure of the present invention is that it provides the commonality and flexibility necessary to be a generic interface for application development. This significantly reduces the complexity of the host/switch communications interface and eliminates the cost of supporting an interface composed of numerous specialized messages and formats.
Another advantage of the present invention is that it enables call switching among multiple distinct network signaling protocols and between these protocols and a distinct host protocol by translating messages in each protocol to the universal API. Thus, the structure of the messages comprising the host-to-switch interface may remain unchanged despite the multiple signaling protocols supported by the switch.
Further features and advantages of the present invention as well as the structure and operation of various embodiments of the present invention are described in detail below with reference to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements. Additionally, the left-most one or two digits of a reference number identifies the drawing in which the reference number first appears.